Certain applications can support mashup capabilities, permitting users to combine components of different applications onto one page or workspace. For example, a user may select a particular component of one application and insert the component into a second application. The combined components can be called mashup components because the components are capable of being “mashed up,” or collected in a customized arrangement, on a page or workspace. The page typically has a layout used to define the visual order of “mashable” applications or components. Further, data flows can be defined between mashable applications by connecting the inputs or outports of these applications. In this way, a user of mashup applications can customize a page or workspace with only components that the user needs or desires.
In general, mashable applications are designed for use in mashup scenarios. Thus, mashable applications are typically and intentionally programmed to visually occupy only a portion of a user interface because otherwise, there would be no remaining visual space available in the application's user interface (UI) to include multiple mashup components. Many pre-existing applications, however, may not be specifically designed for use in mashup scenarios. Further, these applications may occupy the full screen of the user interface during runtime, making the applications generally unsuitable as a mashable application. A user may only need a particular portion of a full-screen application or may want to combine portions of the full-screen application with components of other applications such as other mashup components.